// api/indexAPI.js
// 引入全局配置
import { public_api, public_img } from '@/static/public.js'

console.log('API配置:', { public_api, public_img }); // 添加调试信息

// 封装请求方法
const request = (options) => {
  console.log('发起请求:', options); // 添加调试信息
  
  // 获取本地存储的token和用户ID
  const token = uni.getStorageSync('token') || '';
  const userId = uni.getStorageSync('userId') || '';
  
  return new Promise((resolve, reject) => {
    uni.request({
      url: public_api + options.url,
      method: options.method || 'POST', // 默认改为POST
      data: options.data || {},
      header: {
        'Content-Type': 'application/json',
        'token': token,
        'id': userId,
        ...options.header
      },
      success: (res) => {
        console.log('请求成功:', res); // 添加调试信息
        if (res.statusCode === 200) {
          resolve(res.data)
        } else {
          reject(res)
        }
      },
      fail: (err) => {
        console.error('请求失败:', err); // 添加调试信息
        reject(err)
      }
    })
  })
}

// 用户相关接口
export const userApi = {
  // 用户登录
  login: (data) => {
    return request({
      url: '/api/user/login',
      method: 'POST',
      data
    })
  },
  
  // 微信登录
  wxLogin: (data) => {
    return request({
      url: '/api/user/wx_login',
      method: 'POST',
      data
    })
  },
  
  // 绑定手机号
  bindMobile: (data) => {
    return request({
      url: '/api/user/bind_mobile',
      method: 'POST',
      data
    })
  },
  
  // 用户中心数据
  getUserCenter: (data) => {
    return request({
      url: '/api/user/center',
      method: 'POST',
      data
    })
  }
}

// 首页相关接口
export const homeApi = {
  // 获取首页数据（包含轮播图、商品分类、热销商品列表）
  getHomeData: () => {
    console.log('调用getHomeData接口'); // 添加调试信息
    return request({
      url: '/api',
      method: 'POST'
    })
  }
}

// 地址相关接口
export const addressApi = {
  // 获取地址列表
  getAddressList: (data) => {
    return request({
      url: '/api/address',
      method: 'POST',
      data
    })
  },
  
  // 保存地址
  saveAddress: (data) => {
    return request({
      url: '/api/address/save',
      method: 'POST',
      data
    })
  },
  
  // 删除地址
  deleteAddress: (data) => {
    return request({
      url: '/api/address/del',
      method: 'POST',
      data
    })
  }
}

// 订单相关接口
export const orderApi = {
  // 获取订单列表
  getOrderList: (data) => {
    return request({
      url: '/api/order',
      method: 'POST',
      data
    })
  },
  
  // 支付订单
  payOrder: (data) => {
    return request({
      url: '/api/order/pay',
      method: 'POST',
      data
    })
  },
  
  // 申请退款
  refundOrder: (data) => {
    return request({
      url: '/api/order/refund',
      method: 'POST',
      data
    })
  },
  
  // 删除订单
  deleteOrder: (data) => {
    return request({
      url: '/api/order/del',
      method: 'POST',
      data
    })
  },
  
  // 取消订单
  cancelOrder: (data) => {
    return request({
      url: '/api/order/cancel',
      method: 'POST',
      data
    })
  }
}

// 导出所有接口
export default {
  userApi,
  homeApi,
  addressApi,
  orderApi
}